Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_reticulum_live_network.py

Displaying Raw • Download


tests/backend/test_reticulum_live_network.py v4.6.0-rc.2 (7bbe9846) Text, 1.21 KB

T8b949e# SPDX-License-Identifier: 0BSD

T8b949e"""Optional live Reticulum smoke test.

Reticulum is a process-wide singleton; this test runs a short script in a
subprocess so it does not interfere with other tests.

Enable with: MESHCHAT_LIVE_RETICULUM=1

This does not replace multi-node mesh interoperability testing; it only
verifies that a default-config Reticulum instance can start and exit cleanly
in an isolated config directory (useful after RNS upgrades or OS changes).
"""

Tff7b72import T7ee787os
Tff7b72import T7ee787subprocess
Tff7b72import T7ee787sys

Tff7b72import T7ee787pytest

Te6edf3_RUN Tff7b72= Te6edf3osTff7b72.Td2a8ffenvironTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff"Ta5d6ffMESHCHAT_LIVE_RETICULUMTa5d6ff"Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6ff1Ta5d6ff"


Tf0883e@pytestTff7b72.Td2a8ffmarkTff7b72.Td2a8ffintegration
Tf0883e@pytestTff7b72.Td2a8ffmarkTff7b72.Td2a8ffskipifTb4b4b4(
Tff7b72not Te6edf3_RUNTb4b4b4,
Te6edf3reasonTff7b72=Ta5d6ff"Ta5d6ffSet MESHCHAT_LIVE_RETICULUM=1 to run live Reticulum subprocess smoke testTa5d6ff"Tb4b4b4,
Tb4b4b4)
Tff7b72def Td2a8fftest_reticulum_subprocess_start_and_exitTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3script Tff7b72= Ta5d6ffrTa5d6ff"""
Ta5d6ffimport tempfile
Ta5d6ffimport RNS

Ta5d6fftmpdir = tempfile.mkdtemp(prefix=Ta5d6ff"Ta5d6ffmeshchat_rns_live_Ta5d6ff"Ta5d6ff)
Ta5d6fftry:
Ta5d6ff RNS.Reticulum(configdir=tmpdir, loglevel=RNS.LOG_ERROR)
Ta5d6fffinally:
Ta5d6ff RNS.exit(0)
Ta5d6ff"""
Te6edf3result Tff7b72= Te6edf3subprocessTff7b72.Td2a8ffrunTb4b4b4(
Tb4b4b4[Te6edf3sysTff7b72.Td2a8ffexecutableTb4b4b4, Ta5d6ff"Ta5d6ff-cTa5d6ff"Tb4b4b4, Te6edf3scriptTb4b4b4]Tb4b4b4,
Te6edf3capture_outputTff7b72=Tff7b72TrueTb4b4b4,
Te6edf3textTff7b72=Tff7b72TrueTb4b4b4,
Te6edf3timeoutTff7b72=T79c0ff120Tb4b4b4,
Te6edf3checkTff7b72=Tff7b72FalseTb4b4b4,
Tb4b4b4)
Tff7b72assert Te6edf3resultTff7b72.Td2a8ffreturncode Tff7b72== T79c0ff0Tb4b4b4, Te6edf3resultTff7b72.Td2a8ffstderr Tff7b72+ Te6edf3resultTff7b72.Td2a8ffstdout


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────